//home模块的小仓库

//引入api
import { reqCategoryList, reqGetBannerList, reqFloorList } from "@/api"
export default {
    namespaced: true,
    actions: {
        //通过API里面的接口函数调用，向服务器发请求，获取服务器数据
        // async 函数是使用async关键字声明的函数。async 函数是 AsyncFunction 构造函数的实例，并且其中允许使用 await 关键字。async 和 await 关键字让我们可以用一种更简洁的方式写出基于 Promise 的异步行为，而无需刻意地链式调用 promise。拿到promise成功的结果
        async category({ commit }) {
            let result = await reqCategoryList()
            console.log(result);
            if (result.code == 200) {
                commit('CATEGORY', result.data)
            }
        },
        //获取首页轮播图数据
        async getBannerList({ commit }) {
            let result = await reqGetBannerList()
            console.log(result);
            if (result.code == 200) {
                commit('GETBANNERLIST', result.data)
            }
        },
        //获取Floor轮播图数据
        async getFloorList({ commit }) {
            let result = await reqFloorList()
            if (result.code == 200) {
                commit('GETFLOORLIST', result.data)
            }
        }
    },
    mutations: {
        CATEGORY(state, categoryList) {
            state.categoryList = categoryList
        },
        GETBANNERLIST(state, bannerList) {
            state.bannerList = bannerList
        },
        GETFLOORLIST(state, floorList) {
            state.floorList = floorList
        }
    },
    getters: {},
    state: {
        //home仓库存入三级菜单的数据
        categoryList: [],
        //轮播图的数据
        bannerList: [],
        //
        floorList: []
    },
}